import axios from "axios";
import { ElMessage } from 'element-plus'
const baseUrl = import.meta.env.VITE_APP_BASE_URL
import { saveAs } from 'file-saver'
export default (url, method, params) => {
    // url请求地址
    // method 请求方式
    // params 参数
    return axios.get({
        // 返回我们的axios实例
        url: url + '/api',
        method: method,
        params: params,
    }).then(res => {
        // res 我们后端返回的数据
        if (res.status >= 200 && res.status < 300) {
            // 如果我们返回的数据状态码为200-300之间就是成功
            // ElMessage({
            //     message: '请求成功',
            //     type: 'success',
            // })
            return res.data;
        } else {
            return Promise.reject(res.data);
            // 失败返回一个Promise对象
        }
    }).catch(err => {
        ElMessage({
            message: err,
            type: 'error',
        })
        return Promise.reject(err);
        // 请求失败返回一个Promise对象
    })
}

// 通用下载方法
export function download(url, params, filename) {
    return axios.get(url, params, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
        responseType: 'blob'
    }).then(async (data) => {
        console.log('data', data);
        const blob = new Blob([data])
        saveAs(blob, filename)
    }).catch((r) => {
        console.error(r)
        console.error('下载文件出现错误，请联系管理员！');
    })
}